package com.workstudy.wstudy.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.workstudy.common.annotation.Excel;
import com.workstudy.common.core.domain.BaseEntity;

/**
 * 申请对象 wst_apply
 * 
 * @author sun
 * @date 2021-04-05
 */
public class WstApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long applyId;

    /** 岗位ID */
    @Excel(name = "岗位ID")
    private Long postId;

    /** 学生ID */
    @Excel(name = "学生ID")
    private Long studentId;

    /** 时间ID */
    @Excel(name = "时间ID")
    private Long freeId;

    /** 时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date freeTime;

    /** 经验 */
    @Excel(name = "经验")
    private String experience;

    /** 自我评价 */
    @Excel(name = "自我评价")
    private String evaluate;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 创建者ID */
    @Excel(name = "创建者ID")
    private Long createUserId;

    /** 状态 */
    @Excel(name = "状态")
    private String applyStatus;

    private WstPost post;

    private WstStudent student;

    private List<WstTime> times;

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public WstStudent getStudent() {
        return student;
    }

    public void setStudent(WstStudent student) {
        this.student = student;
    }

    public WstPost getPost() {
        return post;
    }

    public void setPost(WstPost post) {
        this.post = post;
    }

    public void setApplyId(Long applyId)
    {
        this.applyId = applyId;
    }

    public Long getApplyId() 
    {
        return applyId;
    }
    public void setPostId(Long postId) 
    {
        this.postId = postId;
    }

    public Long getPostId() 
    {
        return postId;
    }
    public void setStudentId(Long studentId) 
    {
        this.studentId = studentId;
    }

    public Long getStudentId() 
    {
        return studentId;
    }
    public void setFreeId(Long freeId) 
    {
        this.freeId = freeId;
    }

    public Long getFreeId() 
    {
        return freeId;
    }
    public void setFreeTime(Date freeTime) 
    {
        this.freeTime = freeTime;
    }

    public Date getFreeTime() 
    {
        return freeTime;
    }
    public void setExperience(String experience) 
    {
        this.experience = experience;
    }

    public String getExperience() 
    {
        return experience;
    }
    public void setEvaluate(String evaluate) 
    {
        this.evaluate = evaluate;
    }

    public String getEvaluate() 
    {
        return evaluate;
    }

    public void setCreateUserId(Long createUserId) 
    {
        this.createUserId = createUserId;
    }

    public Long getCreateUserId() 
    {
        return createUserId;
    }
    public void setApplyStatus(String applyStatus) 
    {
        this.applyStatus = applyStatus;
    }

    public String getApplyStatus() 
    {
        return applyStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("applyId", getApplyId())
            .append("postId", getPostId())
            .append("studentId", getStudentId())
            .append("freeId", getFreeId())
            .append("freeTime", getFreeTime())
            .append("experience", getExperience())
            .append("evaluate", getEvaluate())
            .append("createBy", getCreateBy())
            .append("createUserId", getCreateUserId())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("applyStatus", getApplyStatus())
            .toString();
    }
}
